草庐IT

C++ 类 class

全部标签

c++ - `void f1(const Class &c)` 和 `void f2(Class const &c)` 有什么区别?

下面这些函数有什么区别(看关键字const)?voidf1(constClass&c)和voidf2(Classconst&c) 最佳答案 没有区别。这两个版本可以互换。 关于c++-`voidf1(constClass&c)`和`voidf2(Classconst&c)`有什么区别?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7576223/

c++ - 子类如何使用与子类相同的方法名调用父类(super class)的方法?

#includeusingnamespacestd;classPerson{public:voidsing();};classChild:publicPerson{public:voidsing();};Person::sing(){cout 最佳答案 suzie.Person::sing(); 关于c++-子类如何使用与子类相同的方法名调用父类(superclass)的方法?,我们在StackOverflow上找到一个类似的问题: https://stack

c++ - POD 和模板

这是POD吗?templatestructData{floatval_f;Tval_t;intval_i;};如果我有一个C函数需要这样的东西:structData{floatval_f;doubleval_t;intval_i;};我可以传递一个Data吗?对象?附言。我想答案是肯定的,因为在编译时Data将被转换为上面的结构,并且将是一个POD结构。我需要对此进行公正(知情)的确认。 最佳答案 第一个问题的答案,取决于模板参数T.Data如果T将是POD是POD。在回答您的第二个问题时,具有相同定义的类不是相同的类型,因此您不能

c++ - 如何解决 "class must be used when declaring a friend"错误?

classtwo;classone{inta;public:one(){a=8;}friendtwo;};classtwo{public:two(){}two(onei){cout我从Dev-C++收到此错误:aclass-keymustbeusedwhendeclaringafriend但是用MicrosoftVisualC++编译器编译时它运行良好。 最佳答案 你需要friendclasstwo;代替friendtwo;此外,您不需要单独转发声明您的类,因为友元声明本身就是一个声明。你甚至可以这样做://noforward-de

c++ - 为什么写 func( const Class &value ) 更可取?

为什么要使用func(constClass&value)而不仅仅是func(Classvalue)?现代编译器肯定会使用任何一种语法来做最有效的事情。这是否仍然是必要的,或者只是对非优化编译器时代的保留?补充一下,gcc将为这两种语法生成类似的汇编代码输出。也许其他编译器没有?显然,事实并非如此。我很久以前从一些代码中得到的印象是gcc这样做了,但是实验证明这是错误的。感谢MichaelBurr,他对similarquestion的回答如果在这里给出,将被提名。 最佳答案 2个签名之间有2个较大的语义差异。首先是在类型名称中使用&。

C++ 错误 : request for member '...' in 'grmanager' which is of non-class type 'GraphicsManager'

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。我的类GraphicsManager出现错误。图形管理器.cpp:#include"C:\Users\ChrisUzzolina\Desktop\obj\include\GraphicsManager.h"#include#includeGraphicsManager::GraphicsManager(intSCREEN_WIDTH,intSCREEN_

c++ - 如何修复 "At least two classes are needed to perform a LDA"?

我正在尝试运行this使用OpenCV采样,但运行它:./facerec_videohaarcascade_frontalface_alt.xmlcsv_align-1给我这个错误:OpenCVError:Badargument(AtleasttwoclassesareneededtoperformaLDA.Reason:Onlyoneclasswasgiven!)inlda,file/build/buildd/opencv-2.4.8+dfsg1/modules/contrib/src/lda.cpp,line1010terminatecalledafterthrowinganins

c++ - 多态性和数据隐藏 : Does a base class override or ignore a derived class' access restrictions?

请看下面的代码list:#includeusingnamespacestd;classBase{public:virtualvoidMessage()=0;};classIntermediate:publicBase{};classFinal:publicIntermediate{voidMessage(){coutMessage();*///Works:Intermediate*finalPtr=&final;//orBase*finalPtr=&final;finalPtr->Message();return0;}注意以下事项:在抽象Base类中,纯虚函数message()是pub

c++ - 将 namespace 添加到具有 C header 的 C++ 实现

我们有一个包含C和C++代码的大型项目。对于每个C++实现,除了C++header之外,我们通常还提供一个Cheader以允许功能也可用于.c文件。所以,我们的大部分文件看起来像这样:foo.hpp:classC{intfoo();};foo.h:#ifdef__cplusplusextern"C"{typedefstructCC;//forwarddeclarations#elseclassC;#endifintfoo(C*);//simplyexposesamemberfunctionC*utility_function(C*);//somefunctionality*not*in

c++ - Arduino:Setup() 不会启动

我正在为学校build一个机器人,它需要能够使用3个QRE1113线传感器检测线。(http://www.sparkfun.com/products/9454)我创建了4个库,其中两个用于驱动(Motor()和Driver()),它们工作正常。现在我创建了库Linesensor和Eye,它们造成了一些麻烦。当我想使用这些库时,setup()函数将不起作用。甚至不打开LED。似乎是什么问题?主文件:#include"Motor.h"#include"Driver.h"#include"Lichtsensor.h"#include"Eye.h"Motormotor1(5,4,true);M